Skip to content

Introduce 26.2 support#3566

Open
SirYwell wants to merge 3 commits into
mainfrom
feat/mc-26.2
Open

Introduce 26.2 support#3566
SirYwell wants to merge 3 commits into
mainfrom
feat/mc-26.2

Conversation

@SirYwell

Copy link
Copy Markdown
Member

Overview

Description

I did some basic testing, but more testing is encouraged :)

Submitter Checklist

  • Make sure you are opening from a topic branch (/feature/fix/docs/ branch (right side)) and not your main branch.
  • Ensure that the pull request title represents the desired changelog entry.
  • New public fields and methods are annotated with @since TODO.
  • I read and followed the contribution guidelines.

Copilot AI review requested due to automatic review settings June 20, 2026 18:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces Minecraft 26.2 support across WorldEdit core registries and adds a new Bukkit adapter module to handle NMS/Paper internals for that version.

Changes:

  • Extend core registries (block/item/entity/biome types + categories) with new 26.2 identifiers.
  • Add DATA_VERSION_MC_26_2 constant and register 26.2 as a supported version in Gradle settings/build.
  • Add a new worldedit-bukkit:adapters:adapter-26.2 module with Paperweight/FAWE integration classes.

Reviewed changes

Copilot reviewed 35 out of 37 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemTypes.java Adds 26.2 item constants; adds an initialization sanity-check.
worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemCategories.java Adds new item tag categories for 26.2.
worldedit-core/src/main/java/com/sk89q/worldedit/world/entity/EntityTypes.java Adds SULFUR_CUBE entity type.
worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockTypes.java Adds 26.2 block constants.
worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockCategories.java Adds/updates block tag categories for 26.2.
worldedit-core/src/main/java/com/sk89q/worldedit/world/biome/BiomeTypes.java Adds SULFUR_CAVES biome type.
worldedit-core/src/main/java/com/sk89q/worldedit/internal/Constants.java Adds DATA_VERSION_MC_26_2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/StaticRefraction.java Adds 26.2 reflection name mappings.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/PaperweightWorldNativeAccess.java Implements WorldNativeAccess for 26.2 (non-FAWE path).
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/PaperweightServerLevelDelegateProxy.java Adds proxy/delegate layer for feature/structure generation interactions.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/PaperweightLoggingProblemReporter.java Adds a ProblemReporter implementation that logs collected problems.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/PaperweightFakePlayer.java Adds fake player implementation for server-side interactions.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/PaperweightBlockMaterial.java Adds 26.2 block material bridge for Bukkit/NMS.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v26_2/ComponentConverter.java Adds component JSON serialization/deserialization helpers.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/regen/PaperweightRegen.java Adds regen implementation for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightStarlightRelighterFactory.java Hooks relighter factory for Paper/Starlight.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightStarlightRelighter.java Adds Starlight relighting implementation for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightPostProcessor.java Adds post-processing (fluid ticking) integration for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightPlatformAdapter.java Adds 26.2 NMS adapter utilities for FAWE chunk/packet/entity operations.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightPlacementStateProcessor.java Adds placement-state processor for correct block placement logic.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightMapChunkUtil.java Adds chunk packet reflection utility (currently incomplete).
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightLevelProxy.java Adds unsafe-allocated ServerLevel proxy for placement processing.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightGetBlocks_Copy.java Adds an IChunkGet copy implementation for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightFaweWorldNativeAccess.java Adds FAWE WorldNativeAccess implementation for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightFaweMutableBlockPlaceContext.java Adds mutable placement context used during placement processing.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightFaweAdapter.java Adds main FAWE adapter implementation for 26.2.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/PaperweightChunkAccessProxy.java Adds a ChunkAccess proxy used during feature generation.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/LinValueOutput.java Adds LinBus-backed ValueOutput implementation.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/LinValueInput.java Adds LinBus-backed ValueInput implementation.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/LinOps.java Adds DynamicOps for LinBus tags.
worldedit-bukkit/adapters/adapter-26.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v26_2/FaweBlockStateListPopulator.java Adds populator wrapper for capturing blocks/entities during gen.
worldedit-bukkit/adapters/adapter-26.2/build.gradle.kts Adds new adapter module build config and Paper dev bundle dependency.
settings.gradle.kts Registers the adapter-26.2 module.
build.gradle.kts Adds 26.2 to the supported versions list.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 20, 2026 18:24

Copilot AI commented Jun 20, 2026

Copy link
Copy Markdown

@SirYwell I've opened a new pull request, #3567, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 35 out of 37 changed files in this pull request and generated 2 comments.

Comment on lines +107 to +115
cachedChanges.add(new CachedChange(levelChunk, blockPos, blockState));
cachedChunksToSend.add(new IntPair(levelChunk.locX, levelChunk.locZ));
boolean nextTick = lastTick.get() > currentTick;
if (nextTick || cachedChanges.size() >= 1024) {
if (nextTick) {
lastTick.set(currentTick);
}
flushAsync(nextTick);
}
@SirYwell SirYwell marked this pull request as ready for review June 21, 2026 06:55
@SirYwell SirYwell requested a review from a team as a code owner June 21, 2026 06:55
@bjoernager

Copy link
Copy Markdown

For some reason, the Jenkins page already lists support for 26.x. Maybe it was supposed to say 26.1.x?

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
@NotMyFault NotMyFault added the Major feature This PR adds a major feature label Jun 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Major feature This PR adds a major feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants